package cn.bugstack.service.weixin;

import cn.bugstack.domain.vo.WeixinTemplateMessageVO;
import cn.bugstack.domain.req.WeixinQrCodeReq;
import cn.bugstack.domain.res.WeixinQrCodeRes;
import cn.bugstack.domain.res.WeixinTokenRes;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

public interface IWeixinApiService {

    /**
     *获取Acess token
     * @param grantType  获取acess_token填写的client_credential
     * @param appId  第三方用户唯一凭证
     * @param appSecret  第三方用户唯一凭证秘钥
     * @return
     */
    @GET("cgi-bin/token")
    Call<WeixinTokenRes> getToken(@Query("grant_type") String grantType,
                                  @Query("appid") String appId,
                                  @Query("secret") String appSecret);

    /**
     *获取平局
     * @param accessToken   getToken获取的token值
     * @param weixinQrCodeReq  入参对象
     * @return
     */
    @POST("cgi-bin/qrcode/create")
    Call<WeixinQrCodeRes> createQrCode(@Query("access_token") String accessToken, @Body WeixinQrCodeReq weixinQrCodeReq);

    /**
     *获取微信公众号模板消息
     * @param accessToken    getToken获取的token值
     * @param wixinTemplateMessageVO  入参对象
     * @return
     */
    @POST("cgi-bin/qrcode/create")
    Call<Void> sendMessage(@Query("access_token") String accessToken, @Body WeixinTemplateMessageVO wixinTemplateMessageVO);



}
